// const joi = require('@hapi/joi')
const joi = require('joi')

/**
 * string() 值必须是字符串
 * alphanum() 值只能是包含 a-zA-Z0-9 的字符串
 * min(length) 最小长度
 * max(length) 最大长度
 * required() 值是必填项，不能为 undefined
 * pattern(正则表达式) 值必须符合正则表达式的规则
 */

// 用户名的验证规则
const userName = joi.string().alphanum().min(1).max(12).required().messages({
	"string.alphanum": "用户名只能是字母或数字",
	"string.min": "用户名至少需要1个字符",
	"string.empty": "用户名不可以为空",
	"string.max": "用户名最多输入12个字符",
	'any.required': '用户名是必填项'
})
// 密码的验证规则
const password = joi
	.string()
	.pattern(/^[\S]{6,12}$/)
	.required().messages({
		'string.pattern.base': '密码必须是6到12位的非空字符',
		'any.required': '密码是必填项',
		"string.empty": "密码不可以为空"
	})
// 注册和登录表单的验证规则对象
exports.registerSchema = {
	// 表示需要对 req.body 中的数据进行验证
	body: {
		userName,
		password
	},
}